import { defineStore } from 'pinia'

export const mapStore = defineStore('worldMap', {
  state: () => {
    return {
      isChina: false,
      chartShow: false, // 且数据时切换图表显示（交互）
      chartLeftShow: false, // 且数据时切换图表显示（左侧交互）
      chartRightShow: false, // 且数据时切换图表显示（右侧交互）
      restWorld: false, // 重置世界地图
      restChina: false, // 重置中国地图
      initTime: 5000, // 初始化时间
      globalLoading: false, // 全局loading
    }
  },
  actions: {
    setMapType(mapType: boolean) {
      this.isChina = mapType
    },
    setChartShow(chartShow: boolean) {
      this.chartShow = chartShow
    },
    setChartLeftShow(chartLeftShow: boolean) {
      this.chartLeftShow = chartLeftShow
    },
    setChartRightShow(chartRightShow: boolean) {
      this.chartRightShow = chartRightShow
    },
    setRestWorld(restWorld: boolean) {
      this.restWorld = restWorld
    },
    setRestChina(restChina: boolean) {
      this.restChina = restChina
    },
    setInitTime(initTime: number) {
      this.initTime = initTime
    },
    setGlobalLoading(globalLoading: boolean) {
      this.globalLoading = globalLoading
    },
    clear() {
      this.isChina = false
      this.chartShow = false
      this.chartLeftShow = false
      this.chartRightShow = false
      this.restWorld = false
      this.restChina = false
      this.initTime = 5000
      this.globalLoading = false
    },
  },
  // 持久化
  persist: {
    enabled: true,
  },
})
// 如果是开发环境，可以在控制台直接访问mapStore，方便调试。
if (process.env.NODE_ENV === 'development') {
  window['_MAP_STORE'] = mapStore
}
